package component;


import java.util.Map;

import javax.management.Query;



import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;

import play.Logger;
import play.cache.Cache;
import play.mvc.Scope.Session;
	public class UserBis {
		/**
		 * 设置用户登陆信息，放入缓存
		 * 
		 * @param user
		 * @author yanghao 2015年6月8日 上午9:53:30
		 */
		public static void setCurrUser(String customer_id,String userName,String userId,String plat_id,String type,String reday_member_id,String login_account) {
			/* 定时任务下，无法设置当前登陆用户 */
			if (Session.current() == null) {
				return;
			}
			String encryString = Session.current().getId();
			// 设置用户凭证
			Cache.set("front_" + encryString, customer_id, "60min");
			Cache.set("front_name_" + encryString, userName, "60min");
			Cache.set("front_type_"+encryString, type,"60min");
			Cache.set("front_userId_"+encryString, userId,"60min");
			Cache.set("front_plat_id_"+encryString, plat_id,"60min");
			Cache.set("front_ready_member_id_"+encryString, reday_member_id,"60min");
			Cache.set("front_login_account_"+encryString, login_account,"60min");

			// 设置用户登录成功信息
		}
		//设置权限
		public static void setCurrRight(String rights){
			/* 定时任务下，无法设置当前登陆用户 */
			if (Session.current() == null) {
				return;
			}
			String encryString = Session.current().getId();
			// 设置用户凭证
			Cache.set("front_rights_"+encryString, rights,"60min");
		}
		
		public static void setCurrRightMap(Map<String,String> rights){
			/* 定时任务下，无法设置当前登陆用户 */
			if (Session.current() == null) {
				return;
			}
			String encryString = Session.current().getId();
			// 设置用户凭证
			Cache.set("front_rightsMap_"+encryString, rights,"60min");
		}
		
		//设置菜单
		public static void setCurrMenu(String menu){
			/* 定时任务下，无法设置当前登陆用户 */
			if (Session.current() == null) {
				return;
			}
			String encryString = Session.current().getId();
			// 设置用户凭证
			Cache.set("front_menus_"+encryString, menu,"60min");
		}
		//获取菜单
				public static String currMenu(){
					if (Session.current() == null) {
						return null;
					}

					String encryString = Session.current().getId();
					if (StringUtils.isBlank(encryString)) {
						return null;
					}

					String menus = Cache.get("front_menus_" + encryString) + "";
					if (StringUtils.isBlank(menus)) {
						return null;
					}
					return menus;
				}
		
		/**
		 * 获取当前用户登陆信息(获取的是客户的id)
		 * 
		 * @return
		 * @author yanghao 2015年6月8日 上午9:53:47
		 */
		public static String currUser() {
			/* 定时任务下，无法获取当前登陆用户 */
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}

			String userId = Cache.get("front_" + encryString) + "";
			if (StringUtils.isBlank(userId)) {
				return null;
			}
			return userId;
		}
		
		
		/**
		 * 获取当前用户登陆信息（获取的是客户的名称）
		 * 
		 * @return
		 * @author yanghao 2015年6月8日 上午9:53:47
		 */
		public static String currUserName() {
			/* 定时任务下，无法获取当前登陆用户 */
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}

			String userName = Cache.get("front_name_" + encryString) + "";
			if (StringUtils.isBlank(userName)) {
				return null;
			}
			return userName;
		}
		/**
		 * 获取的是用户当前的类型
		 * @return
		 * 2016年1月23日 上午11:45:40
		 * @auth huan208050@vip.qq.com
		 */
		public static String currType() {
			/* 定时任务下，无法获取当前登陆用户 */
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}

			String type = Cache.get("front_type_" + encryString) + "";
			if (StringUtils.isBlank(type)) {
				return null;
			}
			return type;
		}
		/**
		 * 获取当前操作人的id
		 * @return
		 * 2016年1月23日 上午11:46:35
		 * @auth huan208050@vip.qq.com
		 */
		public static String currOperatorId() {
			/* 定时任务下，无法获取当前登陆用户 */
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}

			String userId = Cache.get("front_userId_" + encryString) + "";
			if (StringUtils.isBlank(userId)) {
				return null;
			}
			return userId;
		}
		/**
		 * 当前平台id
		 * @return
		 * 2016年1月23日 上午11:47:29
		 * @auth huan208050@vip.qq.com
		 */
		public static String currPlatId() {
			/* 定时任务下，无法获取当前登陆用户 */
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}

			String plat_id = Cache.get("front_plat_id_" + encryString) + "";
			if (StringUtils.isBlank(plat_id)) {
				return null;
			}
			return plat_id;
		}
		/**
		 * 获取当前权限s
		* @Title: currRights 
		* @Description: TODO(这里用一句话描述这个方法的作用) 
		* @param @return    设定文件 
		* @return String    返回类型 
		* @author chasel 641243343@qq.com   
		* @throws
		 */
		public static String currRights(){
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}

			String rights = Cache.get("front_rights_" + encryString) + "";
			if (StringUtils.isBlank(rights)) {
				return null;
			}
			return rights;
		}
		
		public static Map<String,String> currRightsMap(){
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}

			Map<String,String> rights = Cache.get("front_rightsMap_" + encryString,Map.class);
			return rights;
		}
		public static String currReadyMemberId(){
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}
			String ready_member_id = Cache.get("front_ready_member_id" + encryString) + "";
			if (StringUtils.isBlank(ready_member_id)) {
				return null;
			}
			return ready_member_id;
		}
		/**
		 * 获取当前登录账号
		 * @return
		 */
		public static String currLoginAccount(){
			if (Session.current() == null) {
				return null;
			}

			String encryString = Session.current().getId();
			if (StringUtils.isBlank(encryString)) {
				return null;
			}
			String login_account = Cache.get("front_login_account_" + encryString) + "";
			if (StringUtils.isBlank(login_account)) {
				return null;
			}
			return login_account;
		}
		
		public static void loginOut(){
			/* 定时任务下，无法获取当前登陆用户 */ 
			String encryString = Session.current().getId(); 
          Cache.delete("front_name_" + encryString);
          Cache.delete("front_" + encryString);
          Cache.delete("front_type_" + encryString);
          Cache.delete("front_userId_"+encryString);
		  Cache.delete("front_plat_id_"+encryString);	
		  Cache.delete("front_rights_"+encryString);
		  Cache.delete("front_menus_"+encryString);
		  Cache.delete("front_ready_member_id_"+encryString);
		  Cache.delete("front_login_account_"+encryString);


		}
		
		
	 
	}
	
